#pragma once

class FlatDisc : public Intersectable
{
private:
	Color _color;
protected:
	Plain _plain;
	Point _center;
	double _radius, _radiusSquared;
public:
	FlatDisc(const Ray&, double radius, const Color&);
	void WhereIntersects(const Ray&, FirstIntersectionResult& result);
	void ColorAtIntersection(SecondIntersectionResult&, const Point&, const Ray&);
	Direction NormalAtPoint(FirstIntersectionResult& , const Point&);
	~FlatDisc();
};
